.TH CLVMD 8 "LVM TOOLS #VERSION#" "Red Hat Inc" \" -*- nroff -*-
.SH NAME
clvmd \- cluster LVM daemon
.SH SYNOPSIS
.B clvmd
.RB [ \-d
.RI [< value >]
.RB [ \-C ]]
.RB [ \-E
.RI < "lock uuid" >]
.RB [ \-f ]
.RB [ \-h ]
.RB [ \-I
.IR "cluster_manager" ]
.RB [ \-R ]
.RB [ \-S ]
.RB [ \-t
.RI < timeout >]
.RB [ \-T
.RI < "start timeout" >]
.RB [ \-V ]
.SH DESCRIPTION
clvmd is the daemon that distributes LVM metadata updates around a cluster.
It must be running on all nodes in the cluster and will give an error
if a node in the cluster does not have this daemon running.
.SH OPTIONS
.TP
.BR \-d [< \fIvalue >]
Enable debug logging. Value can be 0, 1 or 2.
.br
0 disables debug logging
.br
1 sends debug logs to stderr (implies \fB\-f\fP option)
.br
2 sends debug logs to syslog
.br
If
.B \-d
is specified without a value then 1 is assumed.
.TP
.B \-C
Only valid if
.B \-d
is also specified. Tells all clvmds in a cluster to enable/disable debug logging.
Without this switch, only the local clvmd will change its debug level to that
given with
.B \-d
.
.br
This does not work correctly if specified on the command-line that starts clvmd.
If you want to start clvmd
.B and
enable cluster-wide logging then the command needs to be issued twice, eg:
.br
.B clvmd
.br
.B clvmd -d2
.br
.TP
.BR \-E < "\fIlock uuid" >
Pass lock uuid to be reacquired exclusively when clvmd is restarted.
.TP
.B \-f
Don't fork, run in the foreground.
.TP
.B \-h
Show help information.
.TP
.B \-I \fIcluster manager
Selects the cluster manager to use for locking and internal communications,
the available managers will be listed as part of the \fBclvmd -h\fP output.
clvmd will use the first cluster manager that succeeds, and it checks them
in the order cman,corosync,openais. As it is quite possible to have
(eg) corosync and cman available on the same system you might have to
manually specify this option to override the search.
.TP
.B \-R
Tells all the running clvmds in the cluster to reload their device cache and
re-read the lvm configuration file. This command should be run whenever the
devices on a cluster system are changed.
.TP
.B \-S
Tells the running clvmd to exit and reexecute itself, for example at the
end of a package upgrade.  The new instance is instructed to reacquire
any locks in the same state as they were previously held.  (Alternative
methods of restarting the daemon have the side effect of changing
exclusive LV locks into shared locks.)
.TP
.BR \-t < \fItimeout >
Specifies the timeout for commands to run around the cluster. This should not
be so small that commands with many disk updates to do will fail, so you
may need to increase this on systems with very large disk farms.
The default is 30 seconds.
.TP
.BR \-T < "\fIstart timeout" >
Specifies the timeout for clvmd daemon startup. If the daemon does not report
that it has started up within this time then the parent command will exit with
status of 5. This does NOT mean that clvmd has not started! What it means is
that the startup of clvmd has been delayed for some reason; the most likely
cause of this is an inquorate cluster though it could be due to locking
latencies on a cluster with large numbers of logical volumes. If you get the
return code of 5 it is usually not necessary to restart clvmd - it will start
as soon as that blockage has cleared. This flag is to allow startup scripts
to exit in a timely fashion even if the cluster is stalled for some reason.
.br
The default is 0 (no timeout) and the value is in seconds. Don't set this too
small or you will experience spurious errors. 10 or 20 seconds might be
sensible.
.br
This timeout will be ignored if you start clvmd with the -d switch.
.TP
.B \-V
Display the version of the cluster LVM daemon.

.SH ENVIRONMENT VARIABLES
.TP
.B LVM_CLVMD_BINARY
The CLVMD binary to use when clmvd restart is requested.
Defaults to #CLVMD_PATH#.
.TP
.B LVM_BINARY
The LVM2 binary to use. Defaults to #LVM_PATH#.

.SH SEE ALSO
.BR lvm (8)
